package com.yunfeisoft.business.model;

import com.yunfeisoft.common.base.BaseModel;
import com.yunfeisoft.common.sql.record.TransientField;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * ClassName: SeniorsSatisfactionQuestionnaire
 * Description: 长者生活满意度调查表
 *
 * @Author: Jackie liu
 * Date: 2020-05-22
 */
@Entity
@Table(name = "TT_SENIORS_SATISFACTION_QUESTIONNAIRE")
public class SeniorsSatisfactionQuestionnaire extends BaseModel implements Serializable {

    /**
     * Field serialVersionUID: 序列号
     */
    private static final long serialVersionUID = 1L;

    /**
     * 老人入住关联id
     */
    @Column
    private String elderId;

    @TransientField
    private String elderName;
    @TransientField
    private String roomNum;
    @TransientField
    private String floorNum;

    public String getRoomNum() {
        return roomNum;
    }

    public void setRoomNum(String roomNum) {
        this.roomNum = roomNum;
    }

    public String getFloorNum() {
        return floorNum;
    }

    public void setFloorNum(String floorNum) {
        this.floorNum = floorNum;
    }

    public String getElderName() {
        return elderName;
    }

    public void setElderName(String elderName) {
        this.elderName = elderName;
    }

    /**
     * 护理员有无打骂、虐待长者1没有2少有3经常有
     */
    @Column
    private Integer abuseElderStatus;

    public String getAbuseElderStatusStr() {
        if (abuseElderStatus == 1) {
            return "没有";
        } else if (abuseElderStatus == 2) {
            return "少有";
        } else if (abuseElderStatus == 3) {
            return "经常有";
        } else {
             return null;
        }
    }

    /**
     * 对护理员打骂长者建议
     */
    @Column
    private String abuseElderStatusSuggest;

    /**
     * 对护理员洗澡等是否满意1很满意2满意3比较满意4一般
     */
    @Column
    private Integer caregiverWashSatisfaction;

    public String getCaregiverWashSatisfactionStr() {
        if (caregiverWashSatisfaction == null) {
            return null;
        }
        return SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum.valueOf(caregiverWashSatisfaction);
    }

    /**
     * 对护理员洗澡等建议
     */
    @Column
    private String caregiverWashSatisfactionSuggest;

    /**
     * 护理员语气是否温和1很温和2一般3很凶
     */
    @Column
    private Integer caregiverGentleStatus;

    public String getCaregiverGentleStatusStr() {
        if (caregiverGentleStatus == 1) {
            return "很温和";
        } else if (caregiverGentleStatus == 2) {
            return "一般";
        } else if (caregiverGentleStatus == 3) {
            return "很凶";
        } else {
            return null;
        }
    }

    /**
     * 对护理员语气建议
     */
    @Column
    private String caregiverGentleStatusSuggest;

    /**
     * 对护理员是否满意1很满意2满意3比较满意4一般
     */
    @Column
    private Integer caregiverSatisfactionStatus;

    public String getCaregiverSatisfactionStatusStr() {
        if (caregiverSatisfactionStatus == null) {
            return null;
        }
        return SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum.valueOf(caregiverSatisfactionStatus);
    }

    /**
     * 对护理员满意度建议
     */
    @Column
    private String caregiverSatisfactionStatusSuggest;

    /**
     * 医生服务满意度1很满意2满意3比较满意4一般
     */
    @Column
    private Integer doctorServiceSatisfactionStatus;

    public String getDoctorServiceSatisfactionStatusStr() {
        if (doctorServiceSatisfactionStatus == null) {
            return null;
        }
        return SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum.valueOf(doctorServiceSatisfactionStatus);
    }

    /**
     * 对医生服务建议
     */
    @Column
    private String doctorServiceSatisfactionStatusSuggest;

    /**
     * 护士服务满意度1很满意2满意3比较满意4一般
     */
    @Column
    private Integer nurseServiceSatisfactionStatus;

    public String getNurseServiceSatisfactionStatusStr() {
        if (nurseServiceSatisfactionStatus == null) {
            return null;
        }
        return SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum.valueOf(nurseServiceSatisfactionStatus);
    }

    /**
     * 对护士服务建议
     */
    @Column
    private String nurseServiceSatisfactionStatusSuggest;

    /**
     * 日常活动是否丰富1很丰富2丰富3比较丰富4一般
     */
    @Column
    private Integer dailyActivitiesAbundant;

    public String getDailyActivitiesAbundantStr() {
        if (dailyActivitiesAbundant == 1) {
            return "很丰富";
        } else if (dailyActivitiesAbundant == 2) {
            return "丰富";
        } else if (dailyActivitiesAbundant == 3) {
            return "比较丰富";
        } else if (dailyActivitiesAbundant == 4) {
            return "一般";
        } else {
            return null;
        }
    }

    /**
     * 日常活动建议
     */
    @Column
    private String dailyActivitiesAbundantSuggest;

    /**
     * 伙食满意度1很满意2满意3比较满意4一般
     */
    @Column
    private Integer mealSatisfactionStatus;

    public String getMealSatisfactionStatusStr() {
        if (mealSatisfactionStatus == null) {
            return null;
        }
        return SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum.valueOf(mealSatisfactionStatus);
    }

    /**
     * 伙食建议
     */
    @Column
    private String mealSatisfactionStatusSuggest;

    /**
     * 其他各方面服务满意度1很满意2满意3比较满意4一般
     */
    @Column
    private Integer otherServiceSatisfactionStatus;

    public String getOtherServiceSatisfactionStatusStr() {
        if (otherServiceSatisfactionStatus == null) {
            return null;
        }
        return SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum.valueOf(otherServiceSatisfactionStatus);
    }

    /**
     * 其他各方面服务建议
     */
    @Column
    private String otherServiceSatisfactionStatusSuggest;

    /**
     * 环境卫生满意度1很满意2满意3比较满意4一般
     */
    @Column
    private Integer environmentSatisfactionStatus;

    public String getEnvironmentSatisfactionStatusStr() {
        if (environmentSatisfactionStatus == null) {
            return null;
        }
        return SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum.valueOf(environmentSatisfactionStatus);
    }

    /**
     * 环境卫生建议
     */
    @Column
    private String environmentSatisfactionStatusSuggest;

    /**
     * 问题解决及时性1很及时2及时3比较及时4不及时
     */
    @Column
    private Integer resolveProblemSatisfactionStatus;

    public String getResolveProblemSatisfactionStatusStr() {
        if (resolveProblemSatisfactionStatus == 1) {
            return "很及时";
        } else if (resolveProblemSatisfactionStatus == 2) {
            return "及时";
        } else if (resolveProblemSatisfactionStatus == 3) {
            return "比较及时";
        } else if (resolveProblemSatisfactionStatus == 4) {
            return "不及时";
        } else {
            return null;
        }
    }

    /**
     * 解决问题及时性建议
     */
    @Column
    private String resolveProblemSatisfactionStatusSuggest;

    /**
     * 相比入住前生活质量是否提高1很大提高2有些提高3没有提高
     */
    @Column
    private Integer improveQualityStatus;

    public String getImproveQualityStatusStr() {
        if (improveQualityStatus == 1) {
            return "很大提高";
        } else if (improveQualityStatus == 2) {
            return "有些提高";
        } else if (improveQualityStatus == 3) {
            return "没有提高";
        } else {
            return null;
        }
    }

    /**
     * 生活质量提高建议
     */
    @Column
    private String improveQualityStatusSuggest;

    /**
     * 对养老中心建议
     */
    @Column
    private String pensionCenterSuggestion;

    /**
     * 对工作人员建议
     */
    @Column
    private String workerSuggestion;

    /**
     * 期望老年生活
     */
    @Column
    private String expectElderLife;


    public String getElderId() {
        return elderId;
    }

    public void setElderId(String elderId) {
        this.elderId = elderId;
    }

    public Integer getAbuseElderStatus() {
        return abuseElderStatus;
    }

    public void setAbuseElderStatus(Integer abuseElderStatus) {
        this.abuseElderStatus = abuseElderStatus;
    }

    public String getAbuseElderStatusSuggest() {
        return abuseElderStatusSuggest;
    }

    public void setAbuseElderStatusSuggest(String abuseElderStatusSuggest) {
        this.abuseElderStatusSuggest = abuseElderStatusSuggest;
    }

    public Integer getCaregiverWashSatisfaction() {
        return caregiverWashSatisfaction;
    }

    public void setCaregiverWashSatisfaction(Integer caregiverWashSatisfaction) {
        this.caregiverWashSatisfaction = caregiverWashSatisfaction;
    }

    public String getCaregiverWashSatisfactionSuggest() {
        return caregiverWashSatisfactionSuggest;
    }

    public void setCaregiverWashSatisfactionSuggest(String caregiverWashSatisfactionSuggest) {
        this.caregiverWashSatisfactionSuggest = caregiverWashSatisfactionSuggest;
    }

    public Integer getCaregiverGentleStatus() {
        return caregiverGentleStatus;
    }

    public void setCaregiverGentleStatus(Integer caregiverGentleStatus) {
        this.caregiverGentleStatus = caregiverGentleStatus;
    }

    public String getCaregiverGentleStatusSuggest() {
        return caregiverGentleStatusSuggest;
    }

    public void setCaregiverGentleStatusSuggest(String caregiverGentleStatusSuggest) {
        this.caregiverGentleStatusSuggest = caregiverGentleStatusSuggest;
    }

    public Integer getCaregiverSatisfactionStatus() {
        return caregiverSatisfactionStatus;
    }

    public void setCaregiverSatisfactionStatus(Integer caregiverSatisfactionStatus) {
        this.caregiverSatisfactionStatus = caregiverSatisfactionStatus;
    }

    public String getCaregiverSatisfactionStatusSuggest() {
        return caregiverSatisfactionStatusSuggest;
    }

    public void setCaregiverSatisfactionStatusSuggest(String caregiverSatisfactionStatusSuggest) {
        this.caregiverSatisfactionStatusSuggest = caregiverSatisfactionStatusSuggest;
    }

    public Integer getDoctorServiceSatisfactionStatus() {
        return doctorServiceSatisfactionStatus;
    }

    public void setDoctorServiceSatisfactionStatus(Integer doctorServiceSatisfactionStatus) {
        this.doctorServiceSatisfactionStatus = doctorServiceSatisfactionStatus;
    }

    public String getDoctorServiceSatisfactionStatusSuggest() {
        return doctorServiceSatisfactionStatusSuggest;
    }

    public void setDoctorServiceSatisfactionStatusSuggest(String doctorServiceSatisfactionStatusSuggest) {
        this.doctorServiceSatisfactionStatusSuggest = doctorServiceSatisfactionStatusSuggest;
    }

    public Integer getNurseServiceSatisfactionStatus() {
        return nurseServiceSatisfactionStatus;
    }

    public void setNurseServiceSatisfactionStatus(Integer nurseServiceSatisfactionStatus) {
        this.nurseServiceSatisfactionStatus = nurseServiceSatisfactionStatus;
    }

    public String getNurseServiceSatisfactionStatusSuggest() {
        return nurseServiceSatisfactionStatusSuggest;
    }

    public void setNurseServiceSatisfactionStatusSuggest(String nurseServiceSatisfactionStatusSuggest) {
        this.nurseServiceSatisfactionStatusSuggest = nurseServiceSatisfactionStatusSuggest;
    }

    public Integer getDailyActivitiesAbundant() {
        return dailyActivitiesAbundant;
    }

    public void setDailyActivitiesAbundant(Integer dailyActivitiesAbundant) {
        this.dailyActivitiesAbundant = dailyActivitiesAbundant;
    }

    public String getDailyActivitiesAbundantSuggest() {
        return dailyActivitiesAbundantSuggest;
    }

    public void setDailyActivitiesAbundantSuggest(String dailyActivitiesAbundantSuggest) {
        this.dailyActivitiesAbundantSuggest = dailyActivitiesAbundantSuggest;
    }

    public Integer getMealSatisfactionStatus() {
        return mealSatisfactionStatus;
    }

    public void setMealSatisfactionStatus(Integer mealSatisfactionStatus) {
        this.mealSatisfactionStatus = mealSatisfactionStatus;
    }

    public String getMealSatisfactionStatusSuggest() {
        return mealSatisfactionStatusSuggest;
    }

    public void setMealSatisfactionStatusSuggest(String mealSatisfactionStatusSuggest) {
        this.mealSatisfactionStatusSuggest = mealSatisfactionStatusSuggest;
    }

    public Integer getOtherServiceSatisfactionStatus() {
        return otherServiceSatisfactionStatus;
    }

    public void setOtherServiceSatisfactionStatus(Integer otherServiceSatisfactionStatus) {
        this.otherServiceSatisfactionStatus = otherServiceSatisfactionStatus;
    }

    public String getOtherServiceSatisfactionStatusSuggest() {
        return otherServiceSatisfactionStatusSuggest;
    }

    public void setOtherServiceSatisfactionStatusSuggest(String otherServiceSatisfactionStatusSuggest) {
        this.otherServiceSatisfactionStatusSuggest = otherServiceSatisfactionStatusSuggest;
    }

    public Integer getEnvironmentSatisfactionStatus() {
        return environmentSatisfactionStatus;
    }

    public void setEnvironmentSatisfactionStatus(Integer environmentSatisfactionStatus) {
        this.environmentSatisfactionStatus = environmentSatisfactionStatus;
    }

    public String getEnvironmentSatisfactionStatusSuggest() {
        return environmentSatisfactionStatusSuggest;
    }

    public void setEnvironmentSatisfactionStatusSuggest(String environmentSatisfactionStatusSuggest) {
        this.environmentSatisfactionStatusSuggest = environmentSatisfactionStatusSuggest;
    }

    public Integer getResolveProblemSatisfactionStatus() {
        return resolveProblemSatisfactionStatus;
    }

    public void setResolveProblemSatisfactionStatus(Integer resolveProblemSatisfactionStatus) {
        this.resolveProblemSatisfactionStatus = resolveProblemSatisfactionStatus;
    }

    public String getResolveProblemSatisfactionStatusSuggest() {
        return resolveProblemSatisfactionStatusSuggest;
    }

    public void setResolveProblemSatisfactionStatusSuggest(String resolveProblemSatisfactionStatusSuggest) {
        this.resolveProblemSatisfactionStatusSuggest = resolveProblemSatisfactionStatusSuggest;
    }

    public Integer getImproveQualityStatus() {
        return improveQualityStatus;
    }

    public void setImproveQualityStatus(Integer improveQualityStatus) {
        this.improveQualityStatus = improveQualityStatus;
    }

    public String getImproveQualityStatusSuggest() {
        return improveQualityStatusSuggest;
    }

    public void setImproveQualityStatusSuggest(String improveQualityStatusSuggest) {
        this.improveQualityStatusSuggest = improveQualityStatusSuggest;
    }

    public String getPensionCenterSuggestion() {
        return pensionCenterSuggestion;
    }

    public void setPensionCenterSuggestion(String pensionCenterSuggestion) {
        this.pensionCenterSuggestion = pensionCenterSuggestion;
    }

    public String getWorkerSuggestion() {
        return workerSuggestion;
    }

    public void setWorkerSuggestion(String workerSuggestion) {
        this.workerSuggestion = workerSuggestion;
    }

    public String getExpectElderLife() {
        return expectElderLife;
    }

    public void setExpectElderLife(String expectElderLife) {
        this.expectElderLife = expectElderLife;
    }

    public enum SeniorsSatisfactionQuestionnaireStatusEnum {
        first(1, "很满意"),
        second(2, "满意"),
        third(3, "比较满意"),
        fourth(4, "一般");

        private int value;
        private String label;

        private SeniorsSatisfactionQuestionnaireStatusEnum(int value, String label) {
            this.value = value;
            this.label = label;
        }

        public static String valueOf(Integer value) {
            if (value == null) {
                return null;
            }
            SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum[] values = SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum.values();
            for (SeniorsSatisfactionQuestionnaire.SeniorsSatisfactionQuestionnaireStatusEnum loop : values) {
                if (value == loop.getValue()) {
                    return loop.getLabel();
                }
            }
            return null;
        }

        public Integer getValue() {
            return value;
        }

        public String getLabel() {
            return label;
        }

    }
}